<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><link rel="stylesheet" type="text/css" href="style.css" /><script type="text/javascript" src="highlight.js"></script></head><body><pre><span class="hs-pragma">{-# LINE 1 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-1"></span><span class="hs-pragma">{-# LANGUAGE CPP, CApiFFI, NondecreasingIndentation, NumDecimals #-}</span><span>
</span><span id="line-2"></span><span>
</span><span id="line-3"></span><span>
</span><span id="line-4"></span><span>
</span><span id="line-5"></span><span>
</span><span id="line-6"></span><span class="hs-keyword">module</span><span> </span><span class="hs-identifier">System.CPUTime.Windows</span><span>
</span><span id="line-7"></span><span>    </span><span class="hs-special">(</span><span> </span><span class="annot"><a href="System.CPUTime.Windows.html#getCPUTime"><span class="hs-identifier">getCPUTime</span></a></span><span>
</span><span id="line-8"></span><span>    </span><span class="hs-special">,</span><span> </span><span class="annot"><a href="System.CPUTime.Windows.html#getCpuTimePrecision"><span class="hs-identifier">getCpuTimePrecision</span></a></span><span>
</span><span id="line-9"></span><span>    </span><span class="hs-special">)</span><span> </span><span class="hs-keyword">where</span><span>
</span><span id="line-10"></span><span>
</span><span id="line-11"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Foreign.html"><span class="hs-identifier">Foreign</span></a></span><span>
</span><span id="line-12"></span><span class="hs-keyword">import</span><span> </span><span class="annot"><a href="Foreign.C.html"><span class="hs-identifier">Foreign.C</span></a></span><span>
</span><span id="line-13"></span><span>
</span><span id="line-14"></span><span class="hs-comment">-- For FILETIME etc. on Windows</span><span>
</span><span id="line-15"></span><span>
</span><span id="line-16"></span><span class="hs-pragma">{-# LINE 16 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-16"></span><span>
</span><span id="line-17"></span><span>
</span><span id="line-18"></span><span class="hs-pragma">{-# LINE 18 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-18"></span><span>
</span><span id="line-19"></span><span class="annot"><a href="System.CPUTime.Windows.html#getCPUTime"><span class="hs-identifier hs-type">getCPUTime</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-20"></span><span id="getCPUTime"><span class="annot"><span class="annottext">getCPUTime :: IO Integer
</span><a href="System.CPUTime.Windows.html#getCPUTime"><span class="hs-identifier hs-var hs-var">getCPUTime</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-21"></span><span>     </span><span class="hs-comment">-- NOTE: GetProcessTimes() is only supported on NT-based OSes.</span><span>
</span><span id="line-22"></span><span>     </span><span class="hs-comment">-- The counts reported by GetProcessTimes() are in 100-ns (10^-7) units.</span><span>
</span><span id="line-23"></span><span>    </span><span class="annot"><span class="annottext">Int -&gt; (Ptr FILETIME -&gt; IO Integer) -&gt; IO Integer
forall a b. Int -&gt; (Ptr a -&gt; IO b) -&gt; IO b
</span><a href="Foreign.Marshal.Alloc.html#allocaBytes"><span class="hs-identifier hs-var">allocaBytes</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">8</span></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">((Ptr FILETIME -&gt; IO Integer) -&gt; IO Integer)
-&gt; (Ptr FILETIME -&gt; IO Integer) -&gt; IO Integer
forall a b. (a -&gt; b) -&gt; a -&gt; b
</span><a href="GHC.Base.html#%24"><span class="hs-operator hs-var">$</span></a></span><span> </span><span class="hs-glyph">\</span><span> </span><span id="local-6989586621679564851"><span class="annot"><span class="annottext">Ptr FILETIME
</span><a href="#local-6989586621679564851"><span class="hs-identifier hs-var">p_creationTime</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-24"></span><span class="hs-pragma">{-# LINE 24 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-24"></span><span>    </span><span class="hs-identifier">allocaBytes</span><span> </span><span class="hs-special">(</span><span class="hs-number">8</span><span class="hs-special">)</span><span> </span><span class="hs-operator">$</span><span> </span><span class="hs-glyph">\</span><span> </span><span class="hs-identifier">p_exitTime</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-25"></span><span class="hs-pragma">{-# LINE 25 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-25"></span><span>    </span><span class="hs-identifier">allocaBytes</span><span> </span><span class="hs-special">(</span><span class="hs-number">8</span><span class="hs-special">)</span><span> </span><span class="hs-operator">$</span><span> </span><span class="hs-glyph">\</span><span> </span><span class="hs-identifier">p_kernelTime</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-26"></span><span class="hs-pragma">{-# LINE 26 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-26"></span><span>    </span><span class="hs-identifier">allocaBytes</span><span> </span><span class="hs-special">(</span><span class="hs-number">8</span><span class="hs-special">)</span><span> </span><span class="hs-operator">$</span><span> </span><span class="hs-glyph">\</span><span> </span><span class="hs-identifier">p_userTime</span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-27"></span><span class="hs-pragma">{-# LINE 27 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-27"></span><span>    </span><span class="hs-identifier">pid</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier">getCurrentProcess</span><span>
</span><span id="line-28"></span><span>    </span><span class="hs-identifier">ok</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier">getProcessTimes</span><span> </span><span class="hs-identifier">pid</span><span> </span><span class="hs-identifier">p_creationTime</span><span> </span><span class="hs-identifier">p_exitTime</span><span> </span><span class="hs-identifier">p_kernelTime</span><span> </span><span class="hs-identifier">p_userTime</span><span>
</span><span id="line-29"></span><span>    </span><span class="hs-keyword">if</span><span> </span><span class="hs-identifier">toBool</span><span> </span><span class="hs-identifier">ok</span><span> </span><span class="hs-keyword">then</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-30"></span><span>      </span><span class="hs-identifier">ut</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier">ft2psecs</span><span> </span><span class="hs-identifier">p_userTime</span><span>
</span><span id="line-31"></span><span>      </span><span class="hs-identifier">kt</span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-identifier">ft2psecs</span><span> </span><span class="hs-identifier">p_kernelTime</span><span>
</span><span id="line-32"></span><span>      </span><span class="hs-identifier">return</span><span> </span><span class="hs-special">(</span><span class="hs-identifier">ut</span><span> </span><span class="hs-operator">+</span><span> </span><span class="hs-identifier">kt</span><span class="hs-special">)</span><span>
</span><span id="line-33"></span><span>     </span><span class="hs-keyword">else</span><span> </span><span class="hs-identifier">return</span><span> </span><span class="hs-number">0</span><span>
</span><span id="line-34"></span><span>  </span><span class="hs-keyword">where</span><span>
</span><span id="line-35"></span><span>        </span><span class="annot"><a href="#local-6989586621679564841"><span class="hs-identifier hs-type">ft2psecs</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="System.CPUTime.Windows.html#FILETIME"><span class="hs-identifier hs-type">FILETIME</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-36"></span><span>        </span><span id="local-6989586621679564841"><span class="annot"><span class="annottext">ft2psecs :: Ptr FILETIME -&gt; IO Integer
</span><a href="#local-6989586621679564841"><span class="hs-identifier hs-var hs-var">ft2psecs</span></a></span></span><span> </span><span id="local-6989586621679564838"><span class="annot"><span class="annottext">Ptr FILETIME
</span><a href="#local-6989586621679564838"><span class="hs-identifier hs-var">ft</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-keyword">do</span><span>
</span><span id="line-37"></span><span>          </span><span id="local-6989586621679564837"><span class="annot"><span class="annottext">Word32
</span><a href="#local-6989586621679564837"><span class="hs-identifier hs-var">high</span></a></span></span><span> </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679564836"><span class="annot"><span class="annottext">Ptr FILETIME
</span><a href="#local-6989586621679564836"><span class="hs-identifier hs-var">hsc_ptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Ptr FILETIME -&gt; Int -&gt; IO Word32
forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
</span><a href="Foreign.Storable.html#peekByteOff"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FILETIME
</span><a href="#local-6989586621679564836"><span class="hs-identifier hs-var">hsc_ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">4</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Ptr FILETIME
</span><a href="#local-6989586621679564838"><span class="hs-identifier hs-var">ft</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="GHC.Word.html#Word32"><span class="hs-identifier hs-type">Word32</span></a></span><span>
</span><span id="line-38"></span><span class="hs-pragma">{-# LINE 38 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-38"></span><span>          </span><span id="local-6989586621679564834"><span class="annot"><span class="annottext">Word32
</span><a href="#local-6989586621679564834"><span class="hs-identifier hs-var">low</span></a></span></span><span>  </span><span class="hs-glyph">&lt;-</span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-glyph">\</span><span id="local-6989586621679564833"><span class="annot"><span class="annottext">Ptr FILETIME
</span><a href="#local-6989586621679564833"><span class="hs-identifier hs-var">hsc_ptr</span></a></span></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><span class="annottext">Ptr FILETIME -&gt; Int -&gt; IO Word32
forall a b. Storable a =&gt; Ptr b -&gt; Int -&gt; IO a
</span><a href="Foreign.Storable.html#peekByteOff"><span class="hs-identifier hs-var">peekByteOff</span></a></span><span> </span><span class="annot"><span class="annottext">Ptr FILETIME
</span><a href="#local-6989586621679564833"><span class="hs-identifier hs-var">hsc_ptr</span></a></span><span> </span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">0</span></span><span class="hs-special">)</span><span class="hs-special">)</span><span>  </span><span class="annot"><span class="annottext">Ptr FILETIME
</span><a href="#local-6989586621679564838"><span class="hs-identifier hs-var">ft</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="GHC.Word.html#Word32"><span class="hs-identifier hs-type">Word32</span></a></span><span>
</span><span id="line-39"></span><span class="hs-pragma">{-# LINE 39 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-39"></span><span>            </span><span class="hs-comment">-- Convert 100-ns units to picosecs (10^-12)</span><span>
</span><span id="line-40"></span><span>            </span><span class="hs-comment">-- =&gt; multiply by 10^5.</span><span>
</span><span id="line-41"></span><span>          </span><span class="annot"><span class="annottext">Integer -&gt; IO Integer
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="hs-special">(</span><span class="hs-special">(</span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word32 -&gt; Integer
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Word32
</span><a href="#local-6989586621679564837"><span class="hs-identifier hs-var">high</span></a></span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2A"><span class="hs-operator hs-var">*</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">2</span></span><span class="annot"><span class="annottext">Integer -&gt; Int -&gt; Integer
forall a b. (Num a, Integral b) =&gt; a -&gt; b -&gt; a
</span><a href="GHC.Real.html#%5E"><span class="hs-operator hs-var">^</span></a></span><span class="hs-special">(</span><span class="annot"><span class="annottext">Int
</span><span class="hs-number">32</span></span><span class="hs-glyph">::</span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#Int"><span class="hs-identifier hs-type">Int</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2B"><span class="hs-operator hs-var">+</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><span class="annottext">Word32 -&gt; Integer
forall a b. (Integral a, Num b) =&gt; a -&gt; b
</span><a href="GHC.Real.html#fromIntegral"><span class="hs-identifier hs-var">fromIntegral</span></a></span><span> </span><span class="annot"><span class="annottext">Word32
</span><a href="#local-6989586621679564834"><span class="hs-identifier hs-var">low</span></a></span><span class="hs-special">)</span><span class="hs-special">)</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; Integer -&gt; Integer
forall a. Num a =&gt; a -&gt; a -&gt; a
</span><a href="GHC.Num.html#%2A"><span class="hs-operator hs-var">*</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">100000</span></span><span class="hs-special">)</span><span>
</span><span id="line-42"></span><span>
</span><span id="line-43"></span><span>    </span><span class="hs-comment">-- ToDo: pin down elapsed times to just the OS thread(s) that</span><span>
</span><span id="line-44"></span><span>    </span><span class="hs-comment">-- are evaluating/managing Haskell code.</span><span>
</span><span id="line-45"></span><span>
</span><span id="line-46"></span><span class="hs-comment">-- While it's hard to get reliable numbers, the consensus is that Windows only provides</span><span>
</span><span id="line-47"></span><span class="hs-comment">-- 16 millisecond resolution in GetProcessTimes (see Python PEP 0418)</span><span>
</span><span id="line-48"></span><span class="annot"><a href="System.CPUTime.Windows.html#getCpuTimePrecision"><span class="hs-identifier hs-type">getCpuTimePrecision</span></a></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="../../ghc-bignum/src/GHC.Num.Integer.html#Integer"><span class="hs-identifier hs-type">Integer</span></a></span><span>
</span><span id="line-49"></span><span id="getCpuTimePrecision"><span class="annot"><span class="annottext">getCpuTimePrecision :: IO Integer
</span><a href="System.CPUTime.Windows.html#getCpuTimePrecision"><span class="hs-identifier hs-var hs-var">getCpuTimePrecision</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="annot"><span class="annottext">Integer -&gt; IO Integer
forall (m :: * -&gt; *) a. Monad m =&gt; a -&gt; m a
</span><a href="GHC.Base.html#return"><span class="hs-identifier hs-var">return</span></a></span><span> </span><span class="annot"><span class="annottext">Integer
</span><span class="hs-number">16e9</span></span><span>
</span><span id="line-50"></span><span>
</span><span id="line-51"></span><span class="hs-keyword">type</span><span> </span><span id="FILETIME"><span class="annot"><a href="System.CPUTime.Windows.html#FILETIME"><span class="hs-identifier hs-var">FILETIME</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-52"></span><span class="hs-keyword">type</span><span> </span><span id="HANDLE"><span class="annot"><a href="System.CPUTime.Windows.html#HANDLE"><span class="hs-identifier hs-var">HANDLE</span></a></span></span><span> </span><span class="hs-glyph">=</span><span> </span><span class="hs-special">(</span><span class="hs-special">)</span><span>
</span><span id="line-53"></span><span>
</span><span id="line-54"></span><span class="hs-comment">-- need proper Haskell names (initial lower-case character)</span><span>
</span><span id="line-55"></span><span>
</span><span id="line-56"></span><span class="hs-pragma">{-# LINE 59 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-59"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;GetCurrentProcess&quot;</span></span><span> </span><span id="getCurrentProcess"><span class="annot"><a href="System.CPUTime.Windows.html#getCurrentProcess"><span class="hs-identifier hs-var">getCurrentProcess</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="hs-special">(</span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="System.CPUTime.Windows.html#HANDLE"><span class="hs-identifier hs-type">HANDLE</span></a></span><span class="hs-special">)</span><span>
</span><span id="line-60"></span><span class="hs-keyword">foreign</span><span> </span><span class="hs-keyword">import</span><span> </span><span class="annot"><span class="hs-keyword">ccall</span></span><span> </span><span class="annot"><span class="hs-keyword">unsafe</span></span><span> </span><span class="annot"><span class="hs-string">&quot;GetProcessTimes&quot;</span></span><span> </span><span id="getProcessTimes"><span class="annot"><a href="System.CPUTime.Windows.html#getProcessTimes"><span class="hs-identifier hs-var">getProcessTimes</span></a></span></span><span> </span><span class="hs-glyph">::</span><span> </span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="System.CPUTime.Windows.html#HANDLE"><span class="hs-identifier hs-type">HANDLE</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="System.CPUTime.Windows.html#FILETIME"><span class="hs-identifier hs-type">FILETIME</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="System.CPUTime.Windows.html#FILETIME"><span class="hs-identifier hs-type">FILETIME</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="System.CPUTime.Windows.html#FILETIME"><span class="hs-identifier hs-type">FILETIME</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="GHC.Ptr.html#Ptr"><span class="hs-identifier hs-type">Ptr</span></a></span><span> </span><span class="annot"><a href="System.CPUTime.Windows.html#FILETIME"><span class="hs-identifier hs-type">FILETIME</span></a></span><span> </span><span class="hs-glyph">-&gt;</span><span> </span><span class="annot"><a href="../../ghc-prim/src/GHC.Types.html#IO"><span class="hs-identifier hs-type">IO</span></a></span><span> </span><span class="annot"><a href="Foreign.C.Types.html#CInt"><span class="hs-identifier hs-type">CInt</span></a></span><span>
</span><span id="line-61"></span><span>
</span><span id="line-62"></span><span class="hs-pragma">{-# LINE 64 &quot;libraries\\base\\System\\CPUTime\\Windows.hsc&quot; #-}</span><span>
</span><span id="line-64"></span></pre></body></html>